Systems which provide geographic information services to users typically require constant updating in order to maintain usefulness and accuracy. Geographic systems may continuously update the features which are used to describe or generate a particular view of the world (map or map information), for example, information regarding the course and location of roadways, business information, size and location of buildings and other structures, etc. In addition, these features may be associated with any number of “references” which associate or link two or more features together. In other words, a reference may describe an instance of a relation between the two features.
For example, if a town (feature T) is contained within a state (feature S), then feature T should be navigated to by way of feature S. The relation is between S and T (“is contained within”), and the reference is therefore an instance of two features (S and T) involved in the relation. Thus, changes or updates to feature S may have an effect on feature T. In another example, updating road data on one or two segments of a road network will undoubtedly affect the attributes of the surrounding segments. For this reason, road data may be considered highly “dependent” and thus may have a large number of references. Accordingly, maintaining consistent views of the world (maps and map information) not only involves updating the features themselves but also maintaining the consistencies of any references.
Presently, updating large geographic information systems may involve either completely locking users out during an updating period or performing an update or entering changes at a time when users are less likely to request information. These systems may operate under the assumption that all of the data is highly dependent (there are many references) and must be delivered in bulk. As a result, the entire world of data may need to be re-written periodically, such as every week, in order to maintain consistency. However, not all edits may affect the consistency of the data. For example, edits to a telephone number or the operating hours of a business may be completely independent of any other features, and thus may be allowed independent of other changes in the system. Accordingly, bulk updating all of the information periodically may delay data updates and requires enormous processing power.
Even using the total bulk updating model, it may be difficult to merge highly dependent data from multiple sources. Some systems may partition the world based on the feature type and country. Highly dependent types, such as roads, may only be taken from a single source per country. This may present problems when managing cross-country references in these data sources, for example, when attempting to connect road networks across borders.